Перейти к основному содержимому

5.2. Создание и управление volumes и buckets

Работа с Ozone: Создание и управление Volumes и Buckets

В Apache Ozone данные организованы с использованием Volumes (томов) и Buckets (бакетов). Том — это верхний уровень структуры, который позволяет разделять ресурсы между пользователями и проектами. Внутри тома создаются бакеты для логического разделения данных. Бакеты, в свою очередь, содержат объекты (ключи). В этом разделе представлены команды для создания и управления томами и бакетами с использованием Ozone Shell.


1. Создание и управление Volumes (Томами)

Томы используются для логической изоляции данных между различными проектами или пользователями. Каждый том может иметь владельца и квоты.

Создание тома

bin/ozone sh volume create /myvolume
  • После создания тома он становится доступным для создания бакетов и управления объектами внутри них.

Просмотр информации о томе

bin/ozone sh volume info /myvolume
  • Вывод этой команды включает имя владельца тома, квоты и общее количество бакетов.

Изменение владельца тома

bin/ozone sh volume setowner /myvolume --owner=new_user
  • Эта команда используется для передачи владения томом другому пользователю.

Настройка квот для тома

bin/ozone sh volume setquota /myvolume --space-quota=100GB --bucket-quota=10
  • space-quota: Максимальный объём данных, который можно хранить в томе.
  • bucket-quota: Максимальное количество бакетов внутри тома.

Удаление тома

bin/ozone sh volume delete /myvolume
  • Убедитесь, что все бакеты внутри тома удалены перед удалением самого тома.

2. Создание и управление Buckets (Бакетами)

Бакеты являются логическими контейнерами внутри томов и содержат объекты (ключи). В бакетах можно настроить различные политики, такие как репликация и версионирование.

Создание бакета

bin/ozone sh bucket create /myvolume/mybucket
  • После создания бакета в нём можно хранить объекты.

Просмотр информации о бакете

bin/ozone sh bucket info /myvolume/mybucket
  • Эта команда отображает информацию о репликации, квотах и политике версионирования.

Настройка репликации для бакета

bin/ozone sh bucket setreplication /myvolume/mybucket --replication=3
  • По умолчанию каждый объект в бакете будет иметь три реплики.

Включение/отключение версионирования

bin/ozone sh bucket setversioning /myvolume/mybucket --enabled
  • Версионирование позволяет хранить несколько версий одного и того же объекта.

Настройка квот для бакета

bin/ozone sh bucket setquota /myvolume/mybucket --space-quota=50GB --key-quota=1000
  • space-quota: Максимальный объём данных, который можно хранить в бакете.
  • key-quota: Максимальное количество ключей (объектов) в бакете.

Удаление бакета

bin/ozone sh bucket delete /myvolume/mybucket
  • Убедитесь, что все ключи внутри бакета удалены перед его удалением.

3. Примеры создания и управления Volumes и Buckets

  1. Создание тома и бакета для проекта:

    bin/ozone sh volume create /projectA
    bin/ozone sh bucket create /projectA/data
  2. Установка репликации и квоты для бакета:

    bin/ozone sh bucket setreplication /projectA/data --replication=2
    bin/ozone sh bucket setquota /projectA/data --space-quota=500GB --key-quota=5000
  3. Передача владения томом другому пользователю:

    bin/ozone sh volume setowner /projectA --owner=userB
  4. Включение версионирования в бакете:

    bin/ozone sh bucket setversioning /projectA/data --enabled

4. Проверка состояния Volumes и Buckets

Используйте следующие команды для мониторинга томов и бакетов:

  • Просмотр всех томов:

    bin/ozone sh volume list
  • Просмотр всех бакетов в томе:

    bin/ozone sh bucket list /projectA

5. Резюме

В Apache Ozone тома (Volumes) и бакеты (Buckets) обеспечивают гибкую организацию данных. Тома позволяют разделять ресурсы и управлять квотами на уровне пользователей и проектов. Внутри томов бакеты служат для логического разделения данных и управления политиками, такими как репликация и версионирование. Используя Ozone Shell, вы можете легко создавать, настраивать и управлять томами и бакетами для различных нужд хранения данных.